/*
题目：删除排序链表中的重复元素Ⅱ
给定一个已排序的链表的头 head ， 删除原始链表中所有重复数字的节点，只留下不同的数字 。返回 已排序的链表 。
 */
class DeleteDuplicatesⅡ {
    public ListNode deleteDuplicates(ListNode head) {
        if (head == null) return head;
        ListNode dummy = new ListNode(0, head);
        dummy.next = head;
        ListNode temp = dummy;
        while (dummy.next != null && dummy.next.next != null) {
            if (dummy.next.val == dummy.next.next.val) {
                int x = dummy.next.val;
                //关键步骤↓
                while (dummy.next != null && dummy.next.val == x) {
                    dummy.next = dummy.next.next;
                }
            } else {
                dummy = dummy.next;
            }
        }
        return temp.next;
    }
}

